/*
 * GeneradorBitsetTest.cpp
 *
 *  Created on: Nov 9, 2010
 *      Author: lucianoml83
 */

#include "GeneradorBitsetTest.h"

GeneradorBitsetTest::GeneradorBitsetTest() {
}

void GeneradorBitsetTest::run() {
  DeltaCoder dc;
  GeneradorBitset gb;
  cout << "----------------------------------------------------" << endl;
  for (int n = 1; n < 11; n++) {
    cout << "Valor: " << n << endl;
    string encodeada = dc.eliasDeltaEncode(n);
    bitset<MAX_BITS> *comprimido = gb.comprimir(encodeada);
    cout << "Comprimido: " << comprimido->to_string() << endl;
    string expandido = gb.expandir(comprimido);
    cout << "Expandido: " << expandido << endl;
    cout << "------" << endl;
    delete(comprimido);
  }

  cout << "Valor: " << 48 << endl;
  string encodeada = dc.eliasDeltaEncode(48);
  bitset<MAX_BITS> *comprimido = gb.comprimir(encodeada);
  cout << "Comprimido: " << comprimido->to_string() << endl;
  string expandido = gb.expandir(comprimido);
  cout << "Expandido: " << expandido << endl;
  cout << "------" << endl;

  delete(comprimido);

  cout << "Valor: " << 77 << endl;
  encodeada = dc.eliasDeltaEncode(77);
  bitset<MAX_BITS> *comprimido2 = gb.comprimir(encodeada);
  cout << "Comprimido: " << comprimido2->to_string() << endl;
  expandido = gb.expandir(comprimido2);
  cout << "Expandido: " << expandido << endl;
  cout << "------" << endl;

  delete(comprimido2);
}

GeneradorBitsetTest::~GeneradorBitsetTest() {
}
